--
-- 配置.
--

local iputils = require "resty.iputils"

local _user_agent_rules
local _blacklist

--- 初始化
-- @param user_agent_rules
-- @param ip_rules
--
local function init(user_agent_rules, ip_rules)
  -- 初始化User_Agent规则
  _user_agent_rules = user_agent_rules

  -- 初始化IP规则
  iputils.enable_lrucache()
  _blacklist = iputils.parse_cidrs(ip_rules)
end

--- 获取User_Agent规则
--
local function get_user_agent_rules()
  return _user_agent_rules
end

--- 获取IP规则
-- @param addr
-- @return true 无限制 false 受限制
local function ip_in_cidrs(addr)
  return not iputils.ip_in_cidrs(addr, _blacklist)
end

return {
  init = init,
  get_user_agent_rules = get_user_agent_rules,
  ip_in_cidrs = ip_in_cidrs
}